Video gaming has long been the province of individual game systems such as personal computers with stored games, Nintendo® and PS-2® systems that interact on a user's television or on an integral screen. Such systems can also interact with one another (as in the Gameboy® systems) thereby allowing users on different systems to interact with another on a particular game. For purposes of these applications, such systems are collectively referred to as “game consoles.”
This desire for interactive gaming has expanded to the Internet where individuals can engage in a gaming experience on a server, and of late, interact with other users in a specific game on a specific server. This desire for “network gaming” is growing.
Network-based gaming involves one or more persons playing a game using Customer Premises Equipment (CPE) (such as a personal computer or game consoles) where those CPEs are connected together by a carrier network to a gaming web server. As used herein, a “Carrier Network” generally refers to a computer network through which users communicate with various service providers (e.g. gaming web servers). The Carrier Network extends from the location of each user to an intermediate switched/routed network (hereinafter “Intermediate Network”). A gaming web server, in turn, is connected to the Intermediate Network, either directly or indirectly via the Internet, for communications with the users. The Carrier Network is maintained by a “Carrier,” which also may serve as a service provider for certain services. For example, a Carrier or a related entity may serve as an Internet service provider (ISP).
Carrier Networks include “Shared Access Carrier Networks,” in which data of multiple users are conveyed together over a shared communications medium between the users and the Intermediate Network, and “Dedicated Connection Carrier Networks,” in which data of each user are conveyed alone between the user and the Intermediate Network and are not combined with data of other users. One of the most prevalent Shared Access Carrier Networks today is found in the Data-Over-Cable (DOC) Network, which includes the traditional network constructed from coaxial cable and the hybrid fiber coaxial (HFC) network constructed with both fiber optical cabling and coaxial cable. Other Shared Access Carrier Networks include wireless and digital subscriber line (xDSL) networks (the xDSL lines typically being aggregated onto an oversubscribed backhaul trunk into the Intermediate Network, with the trunk defining the shared communications medium).
Network carriers and their equipment providers have adopted industry standards in order to increase interchangeability and reduce manufacturing costs for network hardware. For example, DOC Carriers have adopted industry standards such as the Data Over Cable Service Interface Specification (DOCSIS). DOCSIS version 1.0 was issued in 1997 with hardware devices being certified starting in 1999. DOCSIS version 1.1 replaced version 1.0 in 1999-2001. Although released, DOSIS version 2.0 is not yet widely available. As a result, networks conforming to DOCSIS (i.e. DOCSIS-compliant) use DOCSIS version 1.0 and 1.1 hardware in most cases.
FIG. 1 illustrates an example of such a typical DOCSIS-compliant network. Data packets are transmitted in a downstream direction from a cable modem termination system (CMTS) 21, which is located in headend 31 (or distribution hub) of a Carrier, over a coaxial cable 22 to respective cable modems (CMs) 14 of users. All of CMs 14 are attached by the coaxial cable 22 to the CMTS 21 in an inverted tree configuration, and each CM 14 connected to the coaxial cable 22 listens to all broadcasts from the CMTS 21 transmitted through the coaxial cable 22 for data packets addressed to it, and ignores all other data packets addressed to other CMs 14.
Theoretically, a CM 14 is capable of receiving data in the downstream direction over a 6 MHz channel with a maximum connection speed of 30-40 Mbps. Data packets also are transmitted in the upstream direction over a 2 MHz channel by the CMs 14 to the CMTS 21 typically using time division multiplexing (TDM) and at a maximum connection speed of 1.5-10 Mbps (up to 30 Mbps when DOCSIS version 2.0 is available)
The headend 31 in the DOCSIS Network includes a plurality of CMTSs, with each CMTS supporting multiple groups of CMs each connected together by a respective coaxial cable. Each such group of CMs connected to a CMTS defines a Shared Access Carrier Network, with the coaxial cable in each representing the shared communications medium. This arrangement of a group of CMs connected to a CMTS by a coaxial cable is referred to herein as a “Cable Network.” Accordingly, the DOCSIS network includes a plurality of Cable Networks 20 originating from CMTSs at the headend 31 of the Carrier, with a particular Cable Network 21 being illustrated in an expanded view in FIG. 1. The DOCSIS network may also include multiple headends, for example, 31, 32 and 33.
Game playability for participants is often affected by the speed and quality of their respective network connections. This results in many participants preferring high-speed network connections, for example, cable networks (see FIG. 1) and digital subscriber link (xDSL) networks. In many of the popular game programs, game playability is ultimately limited by the player with the slowest and lowest quality network connection. As a result, many game participants (“gamers”) opt for the higher speeds available of DOCSIS networks.
Data transmission over a DOCSIS network can be thought of as a downstream data path and an upstream data path. Downstream paths normally refer to transmission from a web server to a workstation or personal computer user. Upstream data transmission is the opposite with data originating in the workstation 11 or personal computer 12.
In the example of a gaming network, downstream data packets originate with a gaming web server. Such data comprises Internet protocol packaged graphic images, audio signals and textual information. Upstream flowing Internet packets comprise authenticating and “sign-in” information, as well as cursor and game control instructions.
An economy of gaming web server resources results in the case of online gaming with two or more garners participating in the same game session. In this situation, the game instructions respond to upstream flowing game control instructions. Instructions are normally executed in a first-in fashion. Once a game instruction is executed, the graphics, audio signals, or representations of other participating gamer responses can be transmitted downstream to all the participants.
When a cable modem 14 in a DOCSIS network is initialized, at least one downstream path, typically 6 MHz wide, from the cable-modem-termination system 21 to cable modem 14 is set up. The allocation is made so as to ensure coexistence of television broadcasts and data connections. In addition at least one upstream path is established. The upstream path, even when within the cable network, does not usually have a bandwidth of 6 MHz.
The frequency ranges occupied are different as well. Downstream paths are typically in the range of 50 MHz to approximately 1 GHz while the upstream paths are within 5 MHz to 42 MHz with a specific slot defined by the cable-modem-termination system.
As a cable modem 14 is initialized in a DOCSIS network, it registers with a cable-modem-termination system 21. As part of a registration request message, the cable modem forwards configuration information to the CMTS. This exchange also establishes the properties of the CM to the CMTS. If the data over cable network supports Quality-of-Service, the DOCSIS network may allocate resources to the cable modem in the course of registration. DOCSIS version 1.1 and version 1.1 compliant hardware have significant quality-of-service (QoS) enhancements as compared to version 1.0.
DOCSIS version 1.0 uses a static QoS model that is based on a class of service (CoS) that is preprovisioned in the TFTP configuration file for the cable modem. The CoS is a bi-directional QoS profile that has limited control, such as peak rate limits in either direction, and relative priority on the upstream data stream.
DOCSIS version 1.0 defines the concept of a service identifier (SID), that specifies the devices allowed to transmit and provides device identification and CoS.
In DOCSIS version 1.0, each CM is assigned only one SID, creating a one-to-one correspondence between a cable modem and the SID. All traffic originating from, or destined for, a cable modem is mapped to that cable modem's SID.
Typically, a DOCSIS version 1.0 cable modem has one CoS and treats all traffic the same, which means that data traffic on a cable modem can interfere with the quality of other traffic. The CMTS, however, can prioritize downstream traffic based on IP precedent type-of-service (ToS) bits. For example, voice calls using higher IP precedence bits receive a higher queuing priority (but without a guaranteed bandwidth or rate of service). A DOCSIS version 1.0 cable modem could increase voice call quality by permanently reserving bandwidth for voice calls, but then that bandwidth would be wasted whenever a voice call is not in progress.
In contrast to version 1.0, DOCSIS version 1.1 implemented a number of changes to allow great flexibility in the ability of a cable modem and service provider to transmit almost any combination of data traffic and real-time traffic. These changes required a fundamental shift in how a cable modem requests service and how traffic can be transmitted across the cable network.
In DOCSIS version 1.1, a service flow gets created at the time of cable modem registration (a static service flow) or as a result of a dynamic Media Access Control layer (“MAC”) message handshake between the cable modem and the CMTS (a dynamic service flow). At any given time, a service flow might be in one of three states (provisioned, admitted, or active). Only active flows are allowed to pass traffic on the DOCSIS link.
Every service flow has a unique (unique per DOCSIS MAC domain) identifier called the service flow identifier (SFID). The upstream flows in the admitted and active state have an extra Layer 2 SID associated with them. The SID is the identifier used by the MAC scheduler when specifying time-slot scheduling for different service flows.
When a packet is presented to the DOCSIS MAC layer at the CMTS or cable modem, it is compared to a set of packet classifiers until a matching classifier is found. The SFID from this classifier is used to identify the service flow on which the packet will be sent. The packet is then transferred to the service flow manager for rate shaping and output queuing.
In the upstream direction, the output queues at the cable modem are remotely served by the CMTS MAC scheduler, based on DOCSIS version 1.1 slot scheduling constraints such as grant-interval and grant-jitter. In the downstream direction, the CMTS packet scheduler serves the flow queues depending on the flow attributes like traffic priority, guaranteed rate, and delay bound.
The principal mechanism for providing enhanced QoS is to classify data packets into service flows. A service flow is a MAC-layer transport service that provides unidirectional transport of packets to upstream packets transmitted by the cable modem or to downstream packets transmitted by the CMTS.
DOCSIS version 1.1 adds several new MAC scheduling disciplines to provide guaranteed QoS for real-time service flows on the multiple access upstream channel.
Multiple grants per interval help in supporting multiple subflows (such as voice calls) on the same SID. Multiple subflows per SID reduce the minimum SID requirement in cable modem hardware. The CMTS is responsible for supporting QoS for all cable modems in its control. The traffic in the downstream is assumed to be a combination of voice, committed information rate (CIR) data, and excess burst best-effort data.
While DOCSIS quality-of-service is limited to the cable network, users of a gaming network are more interested in the overall quality-of-service (QoS-game). QoS-game collectively specifies the performance of a gaming network service that a device expects on a network. QoS parameters include transit delay expected to deliver data to a specific destination, the level of protection from unauthorized monitoring or modification of data, cost for delivery of data, expected residual error probability, the relative priority associated with the data and other parameters.
FIG. 2 illustrates a simplified view of a typical gaming network. Downstream data packets originate in gaming web server 47, are transmitted over the Internet and routed to CMTS 21 in headend 31. From CMTS 21, the downstream packets are routed over cable 22 to cable modem 14 via the cable network. Cable modem 14 is connected to game console 11 (or other device performing as a game console, for example a personal computer). In similar fashion upstream data packets originate in game console 11 and are routed to gaming web server 47 via cable network 20 and Internet connection 50.
Overall quality-of-service to a gamer using a game network of FIG. 2 is dependent upon both downstream QoS and upstream QoS. Downstream QoS, in turn, depends upon the QoS between game console 14 and CMTS 21 and also the QoS between CMTS 21 and gaming web server 47. Similarly, upstream QoS depends on the QoS between gaming web server 47 and CMTS 21 along with QoS between CMTS 21 and game console 14.
User perceptions of quality-of-service for online gaming in gaming networks differs from other network QoS such as television transmission, voice over Internet (VoIP) or data access. In general, gaming networks have asymmetrical needs. Downstream feeds of video and audio signals need high downstream bandwidth for near real-time performance. In contrast, upstream control instructions have low bandwidth overhead but require low latency routing. In order to economically allocate network resources it is desirable to provide gaming networks with QoS custom fitted to gaming needs. For example, a gamer might want a higher QoS during a gaming session but will not require enhanced QoS for other functions not associated with the game in question (i.e. instant chat, web surfing etc).
Thus what would be useful is a system and method by which game players can reserve gaming network quality-of-service when desirous of playing online in enhanced environment. Such a system would allow selectively enhanced QoS for gaming activity but not necessarily for other activity. In addition, such a system would also allow a gamer to reserve the enhanced QoS only for a time desired, thereby saving network resources. The system would also take advantage of the ability to economically allocate network resources by taking advantage of the asymmetrical nature of gaming networks. Finally, the system would allow a means by which carriers and providers of game content can extract increased revenue from game participants using enhanced game quality-of-service (QoS-game).